package com.wl.cloud.system.support.enums;

import org.apache.commons.lang3.StringUtils;

/**
 * @author: wanglin
 * @date: 2023-09-11 周一
 * @Version: 1.0
 * @Description:
 */
public enum RoleTypeEnum {
    /**
     * 管理员
     */
    SUPER_ADMIN("SUPER_ADMIN", "超级管理员"),
    /**
     * 管理员
     */
    ADMIN("ADMIN", "管理员"),

    /**
     * 普通用户
     */
    COMMON("COMMON", "普通用户");

    private String key;
    private String value;

    public String getKey() {
        return key;
    }

    public String getValue() {
        return value;
    }

    private RoleTypeEnum(String key, String value) {
        this.key = key;
        this.value = value;
    }

    public static RoleTypeEnum getEnumByKey(String key) {
        if (key == null) {
            return null;
        }
        for (RoleTypeEnum e : RoleTypeEnum.values()) {
            if (e.getKey().equals(key)) {
                return e;
            }
        }
        return null;
    }

    public static String getValueByKey(String key) {
        if (key == null) {
            return null;
        }
        for (RoleTypeEnum e : RoleTypeEnum.values()) {
            if (e.getKey().equals(key)) {
                return e.getValue();
            }
        }
        return null;
    }

    public static String getKeyByValue(String value) {
        if (StringUtils.isNotEmpty(value)) {
            for (RoleTypeEnum e : RoleTypeEnum.values()) {
                if (e.getValue().equals(value)) {
                    return e.getKey();
                }
            }
        }
        return null;
    }

}
